
#ifndef BuiltinShaders_h
#define BuiltinShaders_h

#if Windows
#	include <Windows.h>
#	include <gl/GLee.h>
#else
#	include <GLES2/gl2.h>
#	include <GLES2/gl2ext.h>
#endif

extern GLuint loadShader(GLenum shaderType, const char* pSource);
extern GLuint createProgram(const char* pVertexSource, const char* pFragmentSource);

// Shaders for SpriteBatch
extern const char gVertexShader[];
extern const char gFragmentShader_additive[];
extern const char gFragmentShader_opacity[];

extern GLuint g_spritebatch_additive_program;
extern GLuint g_spritebatch_additive_gvPositionHandle;
extern GLuint g_spritebatch_additive_iLocFillColor;
extern GLuint g_spritebatch_additive_gvTexture;
extern GLuint g_spritebatch_additive_texCoordSlot;

extern GLuint g_spritebatch_opacity_program;
extern GLuint g_spritebatch_opacity_gvPositionHandle;
extern GLuint g_spritebatch_opacity_iLocFillColor;
extern GLuint g_spritebatch_opacity_gvTexture;
extern GLuint g_spritebatch_opacity_texCoordSlot;

#endif